<?php
	header("Content-type:text/html;charset=utf-8");
	class human{  
  
		private function t(){  
		}  
		  
		//魔术方法__call  
		/* 
		$method 获得方法名 
		$arg 获得方法的参数集合 
		*/  
		public function __call($method,$arg){  
		    echo '你想调用我不存在的方法',$method,'方法<br/>';  
		    echo '还传了一个参数<br/>'; 
			print_r($arg);
		    echo '<br/>';  
		  }  
		//魔术方法__callStatic  
		public static function __callStatic($method,$arg){  
		  
		    echo '你想调用我不存在的',$method,'静态方法<br/>';  
		    echo '还传了一个参数<br/>';  
		    print_r($arg);
		    echo '<br/>';  
		}  
	  
	}  
	$li=new human();  
	$li->say(1,2,3);  
	/* 
	调用一个未定义的方法 
	Fatal error: Call to undefined method human::say() in D:\wamp\www\php\59.php on line 8 
	*/  
	  
	$li->t('a','b');  
	/*  
	__call是调用不可见(不存在或无权限)的方法时,自动调用  
	$lisi->say(1,2,3);-----没有say()方法----> __call('say',array(1,2,3))运行  
	*/   
	  
	human::cry('痛哭','鬼哭','号哭');  
	/*  
	__callStatic 是调用不可见的静态方法时,自动调用.  
	Human::cry('a','b','c')----没有cry方法---> Human::__callStatic('cry',array('a','b','c'));  
	*/   